home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / flexcat1_4.lha / flexcat / lib / AutoC_c.sd < prev    next >
Text File  |  1994-10-21  |  2KB  |  105 lines

  1. ##stringtype C
  2. ##shortstrings
  3. /****************************************************************
  4.    This file was created automatically by `FlexCat V1.4'
  5.    from "%f0.ct".
  6.  
  7.    Do NOT edit by hand!
  8. ****************************************************************/
  9.  
  10. /****************************************************************
  11.     This file uses the auto initialization possibilities of
  12.     Dice and SAS/C, respectively.
  13.  
  14.     Dice does this by using the keywords __autoinit and
  15.     __autoexit, SAS uses names beginning with _STI or
  16.     _STD, respectively.
  17.  
  18.     Using this file you don't have *all* possibilities of
  19.     the locale.library. (No Locale or Language arguments are
  20.     supported when opening the catalog. However, these are
  21.     *very* rarely used, so this should be sufficient for most
  22.     applications.
  23. ****************************************************************/
  24.  
  25.  
  26. /*
  27.     Include files and compiler specific stuff
  28. */
  29. #include <clib/exec_protos.h>
  30. #include <clib/locale_protos.h>
  31.  
  32. #if defined(__SASC)  ||  defined(_DCC)
  33. #include <pragmas/exec_pragmas.h>
  34. #include <pragmas/locale_pragmas.h>
  35. #else
  36. #error "Don't know how to handle your compiler."
  37. #endif
  38.  
  39. #ifdef __SASC
  40. #define __autoinit
  41. #define __autoexit
  42. #endif
  43.  
  44.  
  45. /*
  46.     Variables
  47. */
  48. struct FC_Type
  49. {   LONG   ID;
  50.     STRPTR Str;
  51. };
  52. const struct FC_Type _%i = { %d, %s };
  53.  
  54. static struct Catalog *%b_Catalog = NULL;
  55.  
  56. extern struct ExecBase *SysBase;
  57. STATIC struct Library *LocaleBase;
  58.  
  59.  
  60.  
  61.  
  62.  
  63. STATIC __autoinit VOID _STIOpenCatalog(VOID)
  64.  
  65.   {
  66.     const STATIC struct TagItem tags[] =
  67.       {
  68.     { OC_BuiltInLanguage, (ULONG) %l },
  69.     { OC_Version, %v },
  70.     { TAG_DONE, 0 }
  71.       };
  72.     if ((LocaleBase = OpenLibrary("locale.library", 38)))
  73.     {
  74.       %b_Catalog = OpenCatalogA(NULL, (STRPTR) "%b.catalog", tags);
  75.     }
  76.   }
  77.  
  78.  
  79.  
  80. STATIC __autoexit VOID _STDCloseCatalog(VOID)
  81.  
  82.   {
  83.     if (LocaleBase)
  84.       {
  85.     CloseCatalog(%b_Catalog);
  86.     %b_Catalog = NULL;
  87.     CloseLibrary(LocaleBase);
  88.       }
  89.   }
  90.  
  91.  
  92.  
  93. STRPTR GetString(struct FC_Type *fcstr)
  94.  
  95.   {
  96.     STRPTR defaultstr;
  97.     LONG strnum;
  98.  
  99.     strnum = fcstr->ID;
  100.     defaultstr = fcstr->Str;
  101.  
  102.     return(%b_Catalog ? GetCatalogStr(%b_Catalog, strnum, defaultstr) :
  103.             defaultstr);
  104.   }
  105.